Neuroelectrics Corporation
Created November 2018
Modified: -
NOTE: Make sure you have gone through NEpy demo 1-Frida before starting with this one, it will help!
When runnign the next cell, three input boxes are going to appear asking for the necessary data to set up:
Your name or ID. Example: R. Sanchez-Todo
The path where you have stored the NEpy repository. Copy paste the path into that box. Example: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1.
The path where you have stored the file(s) you want to process with batch (.easy, .easy.gz, .info). Example: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata
author = input('\033[1mUser name:\033[0m \n')
nepypath = input('\033[1mNEpy repository path:\033[0m \n ')
datapath = input('\033[1mData path:\033[0m \n ')
import sys
import os
import time
sys.path.append(nepypath)
from nepy.frida.frida import Frida
from nepy.frida.batch import processDirectory
print('\n')
%load_ext autoreload
%autoreload 2
print("______________________________________________")
print ("\nNotebook started:", time.strftime("%Y-%m-%d %H:%M"))
print("\nData located in this folder:",'\033[93m', datapath, '\033[0m')
os.listdir(datapath)
User name:
Roser
NEpy repository path:
C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1
Data path:
C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata
The autoreload extension is already loaded. To reload it, use:
%reload_ext autoreload
______________________________________________
Notebook started: 2018-11-08 11:52
Data located in this folder: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata
['20170807135459_W012_V1_EYC.easy.gz', '20170807135459_W012_V1_EYC.info', '20170807135459_W012_V1_EYC_noinfo_s.easy.gz', 'test_file.txt']
Don't know how to deal with batch? No worries, ask for help!
The help function (similar to MATLAB) will print a description and an exaple of use of the batch function.
help(processDirectory)
Help on function processDirectory in module nepy.frida.batch:
processDirectory(datapath, author='anonymous', pipeline=None, parameters=None)
Process all .easy or .easy.gz files in data's directory using Frida.
:param datadir: directory of the folder containing the data.
:param author: ('anonymous') user.
:param pipeline: (['referenceData', 'detrendData', 'notch', 'filterDataA2B'])
:param parameters:
:return: list of processed and skipped files.
Example of use:
>>> [processed, skipped] = processDirectory(datapath)
It is really simple! You just need to copy the following line:
[processed, skipped] = processDirectory(datapath)
The arguments pipeline and parameters (see help(Frida)) are optional.
parameters = {
'time_span': 60,
'grab_seconds': 10.,
'detrend_time': 10.,
'QCthreshold': 75.,
'QCmax': 30.,
'fline': 60.,
'Q': 30.,
'fL': 2.,
'fH': 45.,
'order': 5,
'reference_electrodes': ['Cz'],
'offset_limit': 1.,
'std_limit': 15.
}
[processed, skipped] = processDirectory(datapath, parameters=parameters)
Running with these arguments: {'parameters': {'time_span': 60, 'grab_seconds': 10.0, 'detrend_time': 10.0, 'QCthreshold': 75.0, 'QCmax': 30.0, 'fline': 60.0, 'Q': 30.0, 'fL': 2.0, 'fH': 45.0, 'order': 5, 'reference_electrodes': ['Cz'], 'offset_limit': 1.0, 'std_limit': 15.0}, 'pipeline': None, 'author': 'anonymous', 'datapath': 'C:\\Users\\roser.sanchez\\Documents\\Git\\NEpy_v0.1\\sampledata'}
##########################################################################
Processing C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC.easy.gz
##########################################################################
Found the file: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC.easy.gz
Initializing in file path: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC.easy.gz
Processing: 20170807135459_W012_V1_EYC
Filenameroot: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC
Extension: easy.gz
_______________________________________________________________
Reading info file ...
Step Details
Info Version: 1.2
Step name: EYC
StartDate (firstEEGtimestamp): 1502128490843
Device class: ENOBIO
Communication type: WiFi
Device ID: NE-Wifi(00:07:80:0D:71:2F)
Software's version: NIC v2.0.5c
Firmware's version: 3018
Operative system: Windows 7
SDCard Filename: NONE
Additional channel: NONE
EEG Settings
Total number of channels: 32
Number of EEG channels: 32
Number of records of EEG: 180000
EEG sampling rate: 500 Samples/second
EEG recording configured duration (s): 360
Number of packets lost: 0
Line filter status: OFF
FIR filter status: OFF
EOG correction filter status: OFF
Reference filter status: OFF
EEG units: nV
EEG montage:
Channel 1: P7
Channel 2: P4
Channel 3: Cz
Channel 4: Pz
Channel 5: P3
Channel 6: P8
Channel 7: O1
Channel 8: O2
Channel 9: T8
Channel 10: F8
Channel 11: C4
Channel 12: F4
Channel 13: Fp2
Channel 14: Fz
Channel 15: C3
Channel 16: F3
Channel 17: Fp1
Channel 18: T7
Channel 19: F7
Channel 20: Oz
Channel 21: PO4
Channel 22: FC6
Channel 23: FC2
Channel 24: AF4
Channel 25: CP6
Channel 26: CP2
Channel 27: CP1
Channel 28: CP5
Channel 29: FC1
Channel 30: FC5
Channel 31: AF3
Channel 32: PO3
Accelerometer data: ON
.info file found and read.
_______________________________________________________________
Reading: 20170807135459_W012_V1_EYC . easy.gz
Number of channels detected: 32
First sample recorded : 2017-08-07 19:54:50
L0 raw data data in uV
P7 P4 Cz Pz \
count 179999.000000 179999.000000 179999.000000 179999.000000
mean 4478.283719 6210.156891 12956.180028 -3557.216129
std 572.252171 1907.442899 759.662855 182.497273
min 3833.437000 3102.350000 11754.800000 -3851.986000
25% 3952.908500 4578.209000 12275.172000 -3678.179000
50% 4298.019000 5975.247000 12879.516000 -3629.208000
75% 4965.472000 7882.786000 13641.025000 -3445.291000
max 5768.538000 9842.778000 14427.472000 -3024.244000
P3 P8 O1 O2 \
count 179999.000000 179999.000000 179999.000000 179999.000000
mean 907.838594 -8377.815393 6694.129703 1946.753563
std 381.778994 187.208253 263.233711 534.165497
min 452.280000 -8683.825000 6236.029000 1181.078000
25% 582.122000 -8537.102000 6519.985000 1465.511000
50% 730.466000 -8416.510000 6666.565000 1833.391000
75% 1179.027000 -8248.473000 6827.164000 2428.674000
max 1877.498000 -7867.957000 7490.778000 3067.922000
T8 F8 ... FC1 \
count 179999.000000 179999.000000 ... 179999.000000
mean -6770.991911 7316.049151 ... 4372.674656
std 192.376026 439.992428 ... 688.971297
min -7060.147000 6732.798000 ... 3222.942000
25% -6946.183000 6925.965000 ... 3709.054000
50% -6826.496000 7170.582000 ... 4418.659000
75% -6624.174000 7707.262000 ... 5018.520000
max -6237.221000 8310.462000 ... 5452.728000
FC5 AF3 PO3 ax \
count 179999.000000 179999.000000 179999.000000 179999.000000
mean 972.652364 9447.678713 1620.292330 -139.678304
std 1501.874396 361.537422 252.725304 187.429514
min -1198.434000 8921.195000 1176.738000 -4932.000000
25% -319.671000 9111.071000 1422.596000 -264.000000
50% 735.712000 9355.307000 1570.272000 -107.000000
75% 2291.727000 9744.120000 1845.407000 0.000000
max 3874.397000 10354.138000 2156.400000 5001.000000
ay az markers unix_time t
count 179999.000000 179999.000000 179999.0 1.799990e+05 179999.00000
mean 8294.956972 -3850.054584 0.0 1.502129e+12 179.99800
std 215.319884 367.595051 0.0 1.039228e+05 103.92276
min 0.000000 -5275.000000 0.0 1.502128e+12 0.00000
25% 8178.000000 -4089.000000 0.0 1.502129e+12 89.99900
50% 8257.000000 -3932.000000 0.0 1.502129e+12 179.99800
75% 8414.000000 -3628.000000 0.0 1.502129e+12 269.99700
max 9365.000000 0.000000 0.0 1.502129e+12 359.99600
[8 rows x 38 columns]
Plotting EEG channels after this pipeline:
1 . Object created: 2018-11-08 11:52
File: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC
Plotting PSDs after this pipeline: 1 . Object created: 2018-11-08 11:52 File: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC Channel 1: P7, STD= 156.6 uV
Channel 2: P4, STD= 397.3 uV
Channel 3: Cz, STD= 159.0 uV
Channel 4: Pz, STD= 39.2 uV
Channel 5: P3, STD= 126.5 uV
Channel 6: P8, STD= 83.5 uV
Channel 7: O1, STD= 60.9 uV
Channel 8: O2, STD= 119.0 uV
Channel 9: T8, STD= 84.3 uV
Channel 10: F8, STD= 117.6 uV
Channel 11: C4, STD= 159.8 uV
Channel 12: F4, STD= 82.8 uV
Channel 13: Fp2, STD= 145.3 uV
Channel 14: Fz, STD= 99.9 uV
Channel 15: C3, STD= 315.0 uV
Channel 16: F3, STD= 121.0 uV
Channel 17: Fp1, STD= 194.1 uV
Channel 18: T7, STD= 117.4 uV
Channel 19: F7, STD= 75.3 uV
Channel 20: Oz, STD= 85.7 uV
Channel 21: PO4, STD= 62.5 uV
Channel 22: FC6, STD= 160.0 uV
Channel 23: FC2, STD= 172.2 uV
Channel 24: AF4, STD= 150.0 uV
Channel 25: CP6, STD= 306.4 uV
Channel 26: CP2, STD= 148.4 uV
Channel 27: CP1, STD= 138.3 uV
Channel 28: CP5, STD= 229.0 uV
Channel 29: FC1, STD= 57.9 uV
Channel 30: FC5, STD= 291.3 uV
Channel 31: AF3, STD= 128.0 uV
Channel 32: PO3, STD= 60.0 uV
--------QUALITY CHECK-------- Current log is: ['Object created: 2018-11-08 11:52'] Checking Quality of data with epoch length of 10.0 seconds. Amplitude threshold (uV)= 75.0 STD limit of (uV) = 30.0 Offset limit: 1.0 STD limit: 15.0 Channel P7 : Offset = 5.4 mV(*) / STD = 156.6 uV (*) Channel P4 : Offset = 9.1 mV(*) / STD = 397.3 uV (*) Channel Cz : Offset = 14.1 mV(*) / STD = 159.0 uV (*) Channel Pz : Offset = -3.7 mV(*) / STD = 39.2 uV (*) Channel P3 : Offset = 1.6 mV(*) / STD = 126.5 uV (*) Channel P8 : Offset = -8.1 mV(*) / STD = 83.5 uV (*) Channel O1 : Offset = 6.4 mV(*) / STD = 60.9 uV (*) Channel O2 : Offset = 2.8 mV(*) / STD = 119.0 uV (*) Channel T8 : Offset = -6.5 mV(*) / STD = 84.3 uV (*) Channel F8 : Offset = 8.1 mV(*) / STD = 117.6 uV (*) Channel C4 : Offset = 6.8 mV(*) / STD = 159.8 uV (*) Channel F4 : Offset = 7.8 mV(*) / STD = 82.8 uV (*) Channel Fp2 : Offset = 6.9 mV(*) / STD = 145.3 uV (*) Channel Fz : Offset = 3.7 mV(*) / STD = 99.9 uV (*) Channel C3 : Offset = -0.2 mV / STD = 315.0 uV (*) Channel F3 : Offset = 8.2 mV(*) / STD = 121.0 uV (*) Channel Fp1 : Offset = 14.7 mV(*) / STD = 194.1 uV (*) Channel T7 : Offset = 4.0 mV(*) / STD = 117.4 uV (*) Channel F7 : Offset = 3.0 mV(*) / STD = 75.3 uV (*) Channel Oz : Offset = 4.6 mV(*) / STD = 85.7 uV (*) Channel PO4 : Offset = -0.2 mV / STD = 62.5 uV (*) Channel FC6 : Offset = 13.5 mV(*) / STD = 160.0 uV (*) Channel FC2 : Offset = 4.5 mV(*) / STD = 172.2 uV (*) Channel AF4 : Offset = 23.7 mV(*) / STD = 150.0 uV (*) Channel CP6 : Offset = -4.5 mV(*) / STD = 306.4 uV (*) Channel CP2 : Offset = 17.8 mV(*) / STD = 148.4 uV (*) Channel CP1 : Offset = 16.1 mV(*) / STD = 138.3 uV (*) Channel CP5 : Offset = -2.6 mV(*) / STD = 229.0 uV (*) Channel FC1 : Offset = 3.4 mV(*) / STD = 57.9 uV (*) Channel FC5 : Offset = 3.3 mV(*) / STD = 291.3 uV (*) Channel AF3 : Offset = 10.0 mV(*) / STD = 128.0 uV (*) Channel PO3 : Offset = 2.0 mV(*) / STD = 60.0 uV (*)
Minutes of data: 1.0
Maxtimeskips: 5
Found 48 bad channel-epochs out of 160, or 30.0%.
Bad channel-epochs per channel:
channel 0 / P7, N= 0 (or 0.0%)
channel 1 / P4, N= 0 (or 0.0%)
channel 2 / Cz, N= 1 (or 0.6%)
channel 3 / Pz, N= 0 (or 0.0%)
channel 4 / P3, N= 0 (or 0.0%)
channel 5 / P8, N= 0 (or 0.0%)
channel 6 / O1, N= 0 (or 0.0%)
channel 7 / O2, N= 0 (or 0.0%)
channel 8 / T8, N= 0 (or 0.0%)
channel 9 / F8, N= 3 (or 1.9%)
channel 10 / C4, N= 1 (or 0.6%)
channel 11 / F4, N= 2 (or 1.2%)
channel 12 / Fp2, N= 5 (or 3.1%)
channel 13 / Fz, N= 5 (or 3.1%)
channel 14 / C3, N= 1 (or 0.6%)
channel 15 / F3, N= 4 (or 2.5%)
channel 16 / Fp1, N= 5 (or 3.1%)
channel 17 / T7, N= 0 (or 0.0%)
channel 18 / F7, N= 1 (or 0.6%)
channel 19 / Oz, N= 0 (or 0.0%)
channel 20 / PO4, N= 0 (or 0.0%)
channel 21 / FC6, N= 1 (or 0.6%)
channel 22 / FC2, N= 1 (or 0.6%)
channel 23 / AF4, N= 5 (or 3.1%)
channel 24 / CP6, N= 1 (or 0.6%)
channel 25 / CP2, N= 1 (or 0.6%)
channel 26 / CP1, N= 1 (or 0.6%)
channel 27 / CP5, N= 0 (or 0.0%)
channel 28 / FC1, N= 4 (or 2.5%)
channel 29 / FC5, N= 1 (or 0.6%)
channel 30 / AF3, N= 5 (or 3.1%)
channel 31 / PO3, N= 0 (or 0.0%)
---------QC COMPLETE---------
---------PREPROCESSING---------
Pipeline:
['resetEEG', 'rereferenceData', 'detrendData', 'notch', 'bandpassfilter']
-------------------------------
Step 1 : resetEEG ...
-------------------------------
Step 2 : rereferenceData ...
Reference electrodes: ['Cz']
-------------------------------
Step 3 : detrendData ...
Every 10.0 seconds
-------------------------------
Step 4 : notch ...
Power line frequency: 60.0
Notch Q-factor: 30.0
-------------------------------
Step 5 : bandpassfilter ...
Cutoff frequencies: 2.0 - 45.0
-------------------------------
Done: Updated Log: ['Object created: 2018-11-08 11:52', 'EEG reset on 2018-11-08 11:52', 'Reference to: Cz on 2018-11-08 11:52', 'Detrend data every 10.0 s on 2018-11-08 11:52', 'Notch at 60.0 with Q=30.0 on 2018-11-08 11:52', 'Filter at fL= 2.0 and fH=45.0 on 2018-11-08 11:52']
--------QUALITY CHECK--------
Current log is:
['Object created: 2018-11-08 11:52', 'EEG reset on 2018-11-08 11:52', 'Reference to: Cz on 2018-11-08 11:52', 'Detrend data every 10.0 s on 2018-11-08 11:52', 'Notch at 60.0 with Q=30.0 on 2018-11-08 11:52', 'Filter at fL= 2.0 and fH=45.0 on 2018-11-08 11:52']
Checking Quality of data with epoch length of 10.0 seconds.
Amplitude threshold (uV)= 75.0
STD limit of (uV) = 30.0
Offset limit: 1.0
STD limit: 15.0
Channel P7 : Offset = -0.0 mV / STD = 5.2 uV
Channel P4 : Offset = -0.0 mV / STD = 4.4 uV
Channel Cz : Offset = 0.0 mV / STD = 0.0 uV
Channel Pz : Offset = -0.0 mV / STD = 3.8 uV
Channel P3 : Offset = 0.0 mV / STD = 4.3 uV
Channel P8 : Offset = -0.0 mV / STD = 5.0 uV
Channel O1 : Offset = -0.0 mV / STD = 6.7 uV
Channel O2 : Offset = -0.0 mV / STD = 5.8 uV
Channel T8 : Offset = -0.0 mV / STD = 4.6 uV
Channel F8 : Offset = 0.0 mV / STD = 4.8 uV
Channel C4 : Offset = 0.0 mV / STD = 3.8 uV
Channel F4 : Offset = 0.0 mV / STD = 4.6 uV
Channel Fp2 : Offset = 0.0 mV / STD = 13.0 uV
Channel Fz : Offset = 0.0 mV / STD = 4.5 uV
Channel C3 : Offset = -0.0 mV / STD = 3.4 uV
Channel F3 : Offset = 0.0 mV / STD = 5.0 uV
Channel Fp1 : Offset = 0.0 mV / STD = 16.1 uV (*)
Channel T7 : Offset = -0.0 mV / STD = 4.4 uV
Channel F7 : Offset = -0.0 mV / STD = 5.1 uV
Channel Oz : Offset = -0.0 mV / STD = 5.6 uV
Channel PO4 : Offset = -0.0 mV / STD = 5.4 uV
Channel FC6 : Offset = 0.0 mV / STD = 3.8 uV
Channel FC2 : Offset = 0.0 mV / STD = 2.7 uV
Channel AF4 : Offset = 0.0 mV / STD = 7.6 uV
Channel CP6 : Offset = -0.0 mV / STD = 4.5 uV
Channel CP2 : Offset = -0.0 mV / STD = 2.9 uV
Channel CP1 : Offset = -0.0 mV / STD = 3.0 uV
Channel CP5 : Offset = -0.0 mV / STD = 4.4 uV
Channel FC1 : Offset = 0.0 mV / STD = 2.6 uV
Channel FC5 : Offset = -0.0 mV / STD = 4.2 uV
Channel AF3 : Offset = 0.0 mV / STD = 8.4 uV
Channel PO3 : Offset = -0.0 mV / STD = 5.0 uV
Minutes of data: 1.0
Maxtimeskips: 5
Found 3 bad channel-epochs out of 160, or 1.9%.
Bad channel-epochs per channel:
channel 0 / P7, N= 0 (or 0.0%)
channel 1 / P4, N= 0 (or 0.0%)
channel 2 / Cz, N= 0 (or 0.0%)
channel 3 / Pz, N= 0 (or 0.0%)
channel 4 / P3, N= 0 (or 0.0%)
channel 5 / P8, N= 0 (or 0.0%)
channel 6 / O1, N= 0 (or 0.0%)
channel 7 / O2, N= 0 (or 0.0%)
channel 8 / T8, N= 0 (or 0.0%)
channel 9 / F8, N= 0 (or 0.0%)
channel 10 / C4, N= 0 (or 0.0%)
channel 11 / F4, N= 0 (or 0.0%)
channel 12 / Fp2, N= 1 (or 0.6%)
channel 13 / Fz, N= 0 (or 0.0%)
channel 14 / C3, N= 0 (or 0.0%)
channel 15 / F3, N= 0 (or 0.0%)
channel 16 / Fp1, N= 1 (or 0.6%)
channel 17 / T7, N= 0 (or 0.0%)
channel 18 / F7, N= 0 (or 0.0%)
channel 19 / Oz, N= 0 (or 0.0%)
channel 20 / PO4, N= 0 (or 0.0%)
channel 21 / FC6, N= 0 (or 0.0%)
channel 22 / FC2, N= 0 (or 0.0%)
channel 23 / AF4, N= 0 (or 0.0%)
channel 24 / CP6, N= 0 (or 0.0%)
channel 25 / CP2, N= 0 (or 0.0%)
channel 26 / CP1, N= 0 (or 0.0%)
channel 27 / CP5, N= 0 (or 0.0%)
channel 28 / FC1, N= 0 (or 0.0%)
channel 29 / FC5, N= 0 (or 0.0%)
channel 30 / AF3, N= 1 (or 0.6%)
channel 31 / PO3, N= 0 (or 0.0%)
---------QC COMPLETE---------
Plotting EEG channels after this pipeline:
1 . Object created: 2018-11-08 11:52
2 . EEG reset on 2018-11-08 11:52
3 . Reference to: Cz on 2018-11-08 11:52
4 . Detrend data every 10.0 s on 2018-11-08 11:52
5 . Notch at 60.0 with Q=30.0 on 2018-11-08 11:52
6 . Filter at fL= 2.0 and fH=45.0 on 2018-11-08 11:52
File: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC
Plotting PSDs after this pipeline: 1 . Object created: 2018-11-08 11:52 2 . EEG reset on 2018-11-08 11:52 3 . Reference to: Cz on 2018-11-08 11:52 4 . Detrend data every 10.0 s on 2018-11-08 11:52 5 . Notch at 60.0 with Q=30.0 on 2018-11-08 11:52 6 . Filter at fL= 2.0 and fH=45.0 on 2018-11-08 11:52 File: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC Channel 1: P7, STD= 5.2 uV
Channel 2: P4, STD= 4.4 uV
Channel 3: Cz, STD= 0.0 uV
Channel 4: Pz, STD= 3.8 uV
Channel 5: P3, STD= 4.3 uV
Channel 6: P8, STD= 5.0 uV
Channel 7: O1, STD= 6.7 uV
Channel 8: O2, STD= 5.8 uV
Channel 9: T8, STD= 4.6 uV
Channel 10: F8, STD= 4.8 uV
Channel 11: C4, STD= 3.8 uV
Channel 12: F4, STD= 4.6 uV
Channel 13: Fp2, STD= 13.0 uV
Channel 14: Fz, STD= 4.5 uV
Channel 15: C3, STD= 3.4 uV
Channel 16: F3, STD= 5.0 uV
Channel 17: Fp1, STD= 16.1 uV
Channel 18: T7, STD= 4.4 uV
Channel 19: F7, STD= 5.1 uV
Channel 20: Oz, STD= 5.6 uV
Channel 21: PO4, STD= 5.4 uV
Channel 22: FC6, STD= 3.8 uV
Channel 23: FC2, STD= 2.7 uV
Channel 24: AF4, STD= 7.6 uV
Channel 25: CP6, STD= 4.5 uV
Channel 26: CP2, STD= 2.9 uV
Channel 27: CP1, STD= 3.0 uV
Channel 28: CP5, STD= 4.4 uV
Channel 29: FC1, STD= 2.6 uV
Channel 30: FC5, STD= 4.2 uV
Channel 31: AF3, STD= 8.4 uV
Channel 32: PO3, STD= 5.0 uV
##########################################################################
Processing C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s.easy.gz
##########################################################################
Found the file: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s.easy.gz
Initializing in file path: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s.easy.gz
Processing: 20170807135459_W012_V1_EYC_noinfo_s
Filenameroot: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s
Extension: easy.gz
_______________________________________________________________
Reading info file ...
Warning! .info file not found! Using standard values...
Reading C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s.easy.gz to get numchannels....
numchannels ....... 32
_______________________________________________________________
Reading: 20170807135459_W012_V1_EYC_noinfo_s . easy.gz
Number of channels detected: 32
First sample recorded : 2017-08-07 19:54:50
L0 raw data data in uV
Ch1 Ch2 Ch3 Ch4 Ch5 \
count 59999.000000 59999.000000 59999.000000 59999.000000 59999.000000
mean 5196.090108 8483.534711 13862.587896 -3698.596639 1387.191955
std 281.873353 721.244344 269.087075 42.858447 227.039813
min 4682.016000 7201.195000 13368.083000 -3851.986000 976.038000
25% 4965.520000 7882.810000 13641.048500 -3727.627000 1179.051000
50% 5167.627000 8436.394000 13841.344000 -3696.251000 1356.125000
75% 5439.806000 9089.852000 14093.138000 -3666.735000 1590.490000
max 5768.538000 9842.778000 14427.472000 -3585.911000 1877.498000
Ch6 Ch7 Ch8 Ch9 Ch10 \
count 59999.000000 59999.000000 59999.000000 59999.000000 59999.000000
mean -8180.259534 6456.797619 2607.779962 -6539.911683 7869.947988
std 129.571760 124.451898 219.699893 103.691028 225.437868
min -8420.325000 6236.029000 2171.230000 -6710.673000 7432.413000
25% -8288.241000 6344.080000 2428.674000 -6624.174000 7707.262000
50% -8202.935000 6446.648000 2592.325000 -6570.292000 7860.375000
75% -8069.277000 6557.846000 2779.078000 -6466.818000 8063.984000
max -7867.957000 6728.792000 3067.922000 -6237.221000 8310.462000
... Ch29 Ch30 Ch31 Ch32 \
count ... 59999.000000 59999.000000 59999.000000 59999.000000
mean ... 3546.136027 2809.130150 9888.086205 1922.718791
std ... 215.238847 622.597106 167.542136 92.569278
min ... 3222.942000 1632.642000 9617.282000 1730.871000
25% ... 3361.750000 2291.751000 9744.120000 1845.407000
50% ... 3478.956000 2820.349000 9850.455000 1906.776000
75% ... 3709.030000 3348.517000 10006.381000 1999.187000
max ... 4055.548000 3874.397000 10354.138000 2156.400000
ax ay az markers unix_time \
count 59999.000000 59999.000000 59999.00000 59999.0 5.999900e+04
mean -316.446774 8154.400990 -4132.20237 0.0 1.502129e+12
std 159.261022 208.701005 223.12616 0.0 3.464073e+04
min -1108.000000 0.000000 -5275.00000 0.0 1.502128e+12
25% -411.000000 8061.000000 -4275.00000 0.0 1.502129e+12
50% -304.000000 8178.000000 -4128.00000 0.0 1.502129e+12
75% -225.000000 8257.000000 -4010.00000 0.0 1.502129e+12
max 343.000000 9100.000000 0.00000 0.0 1.502129e+12
t
count 59999.000000
mean 59.998000
std 34.640727
min 0.000000
25% 29.999000
50% 59.998000
75% 89.997000
max 119.996000
[8 rows x 38 columns]
Plotting EEG channels after this pipeline:
1 . Object created: 2018-11-08 11:52
File: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s
Plotting PSDs after this pipeline: 1 . Object created: 2018-11-08 11:52 File: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s Channel 1: Ch1, STD= 156.6 uV
Channel 2: Ch2, STD= 397.3 uV
Channel 3: Ch3, STD= 159.0 uV
Channel 4: Ch4, STD= 39.2 uV
Channel 5: Ch5, STD= 126.5 uV
Channel 6: Ch6, STD= 83.5 uV
Channel 7: Ch7, STD= 60.9 uV
Channel 8: Ch8, STD= 119.0 uV
Channel 9: Ch9, STD= 84.3 uV
Channel 10: Ch10, STD= 117.6 uV
Channel 11: Ch11, STD= 159.8 uV
Channel 12: Ch12, STD= 82.8 uV
Channel 13: Ch13, STD= 145.3 uV
Channel 14: Ch14, STD= 99.9 uV
Channel 15: Ch15, STD= 315.0 uV
Channel 16: Ch16, STD= 121.0 uV
Channel 17: Ch17, STD= 194.1 uV
Channel 18: Ch18, STD= 117.4 uV
Channel 19: Ch19, STD= 75.3 uV
Channel 20: Ch20, STD= 85.7 uV
Channel 21: Ch21, STD= 62.5 uV
Channel 22: Ch22, STD= 160.0 uV
Channel 23: Ch23, STD= 172.2 uV
Channel 24: Ch24, STD= 150.0 uV
Channel 25: Ch25, STD= 306.4 uV
Channel 26: Ch26, STD= 148.4 uV
Channel 27: Ch27, STD= 138.3 uV
Channel 28: Ch28, STD= 229.0 uV
Channel 29: Ch29, STD= 57.9 uV
Channel 30: Ch30, STD= 291.3 uV
Channel 31: Ch31, STD= 128.0 uV
Channel 32: Ch32, STD= 60.0 uV
--------QUALITY CHECK-------- Current log is: ['Object created: 2018-11-08 11:52'] Checking Quality of data with epoch length of 10.0 seconds. Amplitude threshold (uV)= 75.0 STD limit of (uV) = 30.0 Offset limit: 1.0 STD limit: 15.0 Channel Ch1 : Offset = 5.4 mV(*) / STD = 156.6 uV (*) Channel Ch2 : Offset = 9.1 mV(*) / STD = 397.3 uV (*) Channel Ch3 : Offset = 14.1 mV(*) / STD = 159.0 uV (*) Channel Ch4 : Offset = -3.7 mV(*) / STD = 39.2 uV (*) Channel Ch5 : Offset = 1.6 mV(*) / STD = 126.5 uV (*) Channel Ch6 : Offset = -8.1 mV(*) / STD = 83.5 uV (*) Channel Ch7 : Offset = 6.4 mV(*) / STD = 60.9 uV (*) Channel Ch8 : Offset = 2.8 mV(*) / STD = 119.0 uV (*) Channel Ch9 : Offset = -6.5 mV(*) / STD = 84.3 uV (*) Channel Ch10 : Offset = 8.1 mV(*) / STD = 117.6 uV (*) Channel Ch11 : Offset = 6.8 mV(*) / STD = 159.8 uV (*) Channel Ch12 : Offset = 7.8 mV(*) / STD = 82.8 uV (*) Channel Ch13 : Offset = 6.9 mV(*) / STD = 145.3 uV (*) Channel Ch14 : Offset = 3.7 mV(*) / STD = 99.9 uV (*) Channel Ch15 : Offset = -0.2 mV / STD = 315.0 uV (*) Channel Ch16 : Offset = 8.2 mV(*) / STD = 121.0 uV (*) Channel Ch17 : Offset = 14.7 mV(*) / STD = 194.1 uV (*) Channel Ch18 : Offset = 4.0 mV(*) / STD = 117.4 uV (*) Channel Ch19 : Offset = 3.0 mV(*) / STD = 75.3 uV (*) Channel Ch20 : Offset = 4.6 mV(*) / STD = 85.7 uV (*) Channel Ch21 : Offset = -0.2 mV / STD = 62.5 uV (*) Channel Ch22 : Offset = 13.5 mV(*) / STD = 160.0 uV (*) Channel Ch23 : Offset = 4.5 mV(*) / STD = 172.2 uV (*) Channel Ch24 : Offset = 23.7 mV(*) / STD = 150.0 uV (*) Channel Ch25 : Offset = -4.5 mV(*) / STD = 306.4 uV (*) Channel Ch26 : Offset = 17.8 mV(*) / STD = 148.4 uV (*) Channel Ch27 : Offset = 16.1 mV(*) / STD = 138.3 uV (*) Channel Ch28 : Offset = -2.6 mV(*) / STD = 229.0 uV (*) Channel Ch29 : Offset = 3.4 mV(*) / STD = 57.9 uV (*) Channel Ch30 : Offset = 3.3 mV(*) / STD = 291.3 uV (*) Channel Ch31 : Offset = 10.0 mV(*) / STD = 128.0 uV (*) Channel Ch32 : Offset = 2.0 mV(*) / STD = 60.0 uV (*)
Minutes of data: 1.0
Maxtimeskips: 5
Found 48 bad channel-epochs out of 160, or 30.0%.
Bad channel-epochs per channel:
channel 0 / Ch1, N= 0 (or 0.0%)
channel 1 / Ch2, N= 0 (or 0.0%)
channel 2 / Ch3, N= 1 (or 0.6%)
channel 3 / Ch4, N= 0 (or 0.0%)
channel 4 / Ch5, N= 0 (or 0.0%)
channel 5 / Ch6, N= 0 (or 0.0%)
channel 6 / Ch7, N= 0 (or 0.0%)
channel 7 / Ch8, N= 0 (or 0.0%)
channel 8 / Ch9, N= 0 (or 0.0%)
channel 9 / Ch10, N= 3 (or 1.9%)
channel 10 / Ch11, N= 1 (or 0.6%)
channel 11 / Ch12, N= 2 (or 1.2%)
channel 12 / Ch13, N= 5 (or 3.1%)
channel 13 / Ch14, N= 5 (or 3.1%)
channel 14 / Ch15, N= 1 (or 0.6%)
channel 15 / Ch16, N= 4 (or 2.5%)
channel 16 / Ch17, N= 5 (or 3.1%)
channel 17 / Ch18, N= 0 (or 0.0%)
channel 18 / Ch19, N= 1 (or 0.6%)
channel 19 / Ch20, N= 0 (or 0.0%)
channel 20 / Ch21, N= 0 (or 0.0%)
channel 21 / Ch22, N= 1 (or 0.6%)
channel 22 / Ch23, N= 1 (or 0.6%)
channel 23 / Ch24, N= 5 (or 3.1%)
channel 24 / Ch25, N= 1 (or 0.6%)
channel 25 / Ch26, N= 1 (or 0.6%)
channel 26 / Ch27, N= 1 (or 0.6%)
channel 27 / Ch28, N= 0 (or 0.0%)
channel 28 / Ch29, N= 4 (or 2.5%)
channel 29 / Ch30, N= 1 (or 0.6%)
channel 30 / Ch31, N= 5 (or 3.1%)
channel 31 / Ch32, N= 0 (or 0.0%)
---------QC COMPLETE---------
---------PREPROCESSING---------
Pipeline:
['resetEEG', 'rereferenceData', 'detrendData', 'notch', 'bandpassfilter']
-------------------------------
Step 1 : resetEEG ...
-------------------------------
Step 2 : rereferenceData ...
Reference electrodes: ['Cz']
Using average reference
-------------------------------
Step 3 : detrendData ...
Every 10.0 seconds
-------------------------------
Step 4 : notch ...
Power line frequency: 60.0
Notch Q-factor: 30.0
-------------------------------
Step 5 : bandpassfilter ...
Cutoff frequencies: 2.0 - 45.0
-------------------------------
Done: Updated Log: ['Object created: 2018-11-08 11:52', 'EEG reset on 2018-11-08 11:52', 'Reference to: Cz on 2018-11-08 11:52', 'Detrend data every 10.0 s on 2018-11-08 11:52', 'Notch at 60.0 with Q=30.0 on 2018-11-08 11:52', 'Filter at fL= 2.0 and fH=45.0 on 2018-11-08 11:52']
--------QUALITY CHECK--------
Current log is:
['Object created: 2018-11-08 11:52', 'EEG reset on 2018-11-08 11:52', 'Reference to: Cz on 2018-11-08 11:52', 'Detrend data every 10.0 s on 2018-11-08 11:52', 'Notch at 60.0 with Q=30.0 on 2018-11-08 11:52', 'Filter at fL= 2.0 and fH=45.0 on 2018-11-08 11:52']
Checking Quality of data with epoch length of 10.0 seconds.
Amplitude threshold (uV)= 75.0
STD limit of (uV) = 30.0
Offset limit: 1.0
STD limit: 15.0
Channel Ch1 : Offset = -0.0 mV / STD = 4.3 uV
Channel Ch2 : Offset = -0.0 mV / STD = 3.8 uV
Channel Ch3 : Offset = -0.0 mV / STD = 3.0 uV
Channel Ch4 : Offset = -0.0 mV / STD = 3.3 uV
Channel Ch5 : Offset = -0.0 mV / STD = 3.5 uV
Channel Ch6 : Offset = -0.0 mV / STD = 4.1 uV
Channel Ch7 : Offset = -0.0 mV / STD = 5.6 uV
Channel Ch8 : Offset = -0.0 mV / STD = 4.7 uV
Channel Ch9 : Offset = -0.0 mV / STD = 3.7 uV
Channel Ch10 : Offset = 0.0 mV / STD = 3.4 uV
Channel Ch11 : Offset = -0.0 mV / STD = 3.3 uV
Channel Ch12 : Offset = 0.0 mV / STD = 3.6 uV
Channel Ch13 : Offset = 0.0 mV / STD = 11.7 uV
Channel Ch14 : Offset = 0.0 mV / STD = 3.8 uV
Channel Ch15 : Offset = -0.0 mV / STD = 3.1 uV
Channel Ch16 : Offset = 0.0 mV / STD = 3.7 uV
Channel Ch17 : Offset = 0.0 mV / STD = 14.8 uV
Channel Ch18 : Offset = -0.0 mV / STD = 3.5 uV
Channel Ch19 : Offset = -0.0 mV / STD = 3.4 uV
Channel Ch20 : Offset = -0.0 mV / STD = 4.6 uV
Channel Ch21 : Offset = -0.0 mV / STD = 4.4 uV
Channel Ch22 : Offset = 0.0 mV / STD = 2.7 uV
Channel Ch23 : Offset = 0.0 mV / STD = 2.8 uV
Channel Ch24 : Offset = 0.0 mV / STD = 6.3 uV
Channel Ch25 : Offset = -0.0 mV / STD = 3.7 uV
Channel Ch26 : Offset = -0.0 mV / STD = 3.2 uV
Channel Ch27 : Offset = -0.0 mV / STD = 3.0 uV
Channel Ch28 : Offset = -0.0 mV / STD = 3.6 uV
Channel Ch29 : Offset = 0.0 mV / STD = 2.9 uV
Channel Ch30 : Offset = -0.0 mV / STD = 3.0 uV
Channel Ch31 : Offset = 0.0 mV / STD = 7.0 uV
Channel Ch32 : Offset = -0.0 mV / STD = 4.0 uV
Minutes of data: 1.0
Maxtimeskips: 5
Found 3 bad channel-epochs out of 160, or 1.9%.
Bad channel-epochs per channel:
channel 0 / Ch1, N= 0 (or 0.0%)
channel 1 / Ch2, N= 0 (or 0.0%)
channel 2 / Ch3, N= 0 (or 0.0%)
channel 3 / Ch4, N= 0 (or 0.0%)
channel 4 / Ch5, N= 0 (or 0.0%)
channel 5 / Ch6, N= 0 (or 0.0%)
channel 6 / Ch7, N= 0 (or 0.0%)
channel 7 / Ch8, N= 0 (or 0.0%)
channel 8 / Ch9, N= 0 (or 0.0%)
channel 9 / Ch10, N= 0 (or 0.0%)
channel 10 / Ch11, N= 0 (or 0.0%)
channel 11 / Ch12, N= 0 (or 0.0%)
channel 12 / Ch13, N= 1 (or 0.6%)
channel 13 / Ch14, N= 0 (or 0.0%)
channel 14 / Ch15, N= 0 (or 0.0%)
channel 15 / Ch16, N= 0 (or 0.0%)
channel 16 / Ch17, N= 1 (or 0.6%)
channel 17 / Ch18, N= 0 (or 0.0%)
channel 18 / Ch19, N= 0 (or 0.0%)
channel 19 / Ch20, N= 0 (or 0.0%)
channel 20 / Ch21, N= 0 (or 0.0%)
channel 21 / Ch22, N= 0 (or 0.0%)
channel 22 / Ch23, N= 0 (or 0.0%)
channel 23 / Ch24, N= 0 (or 0.0%)
channel 24 / Ch25, N= 0 (or 0.0%)
channel 25 / Ch26, N= 0 (or 0.0%)
channel 26 / Ch27, N= 0 (or 0.0%)
channel 27 / Ch28, N= 0 (or 0.0%)
channel 28 / Ch29, N= 0 (or 0.0%)
channel 29 / Ch30, N= 0 (or 0.0%)
channel 30 / Ch31, N= 1 (or 0.6%)
channel 31 / Ch32, N= 0 (or 0.0%)
---------QC COMPLETE---------
Plotting EEG channels after this pipeline:
1 . Object created: 2018-11-08 11:52
2 . EEG reset on 2018-11-08 11:52
3 . Reference to: Cz on 2018-11-08 11:52
4 . Detrend data every 10.0 s on 2018-11-08 11:52
5 . Notch at 60.0 with Q=30.0 on 2018-11-08 11:52
6 . Filter at fL= 2.0 and fH=45.0 on 2018-11-08 11:52
File: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s
Plotting PSDs after this pipeline: 1 . Object created: 2018-11-08 11:52 2 . EEG reset on 2018-11-08 11:52 3 . Reference to: Cz on 2018-11-08 11:52 4 . Detrend data every 10.0 s on 2018-11-08 11:52 5 . Notch at 60.0 with Q=30.0 on 2018-11-08 11:52 6 . Filter at fL= 2.0 and fH=45.0 on 2018-11-08 11:52 File: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1\sampledata/20170807135459_W012_V1_EYC_noinfo_s Channel 1: Ch1, STD= 4.3 uV
Channel 2: Ch2, STD= 3.8 uV
Channel 3: Ch3, STD= 3.0 uV
Channel 4: Ch4, STD= 3.3 uV
Channel 5: Ch5, STD= 3.5 uV
Channel 6: Ch6, STD= 4.1 uV
Channel 7: Ch7, STD= 5.6 uV
Channel 8: Ch8, STD= 4.7 uV
Channel 9: Ch9, STD= 3.7 uV
Channel 10: Ch10, STD= 3.4 uV
Channel 11: Ch11, STD= 3.3 uV
Channel 12: Ch12, STD= 3.6 uV
Channel 13: Ch13, STD= 11.7 uV
Channel 14: Ch14, STD= 3.8 uV
Channel 15: Ch15, STD= 3.1 uV
Channel 16: Ch16, STD= 3.7 uV
Channel 17: Ch17, STD= 14.8 uV
Channel 18: Ch18, STD= 3.5 uV
Channel 19: Ch19, STD= 3.4 uV
Channel 20: Ch20, STD= 4.6 uV
Channel 21: Ch21, STD= 4.4 uV
Channel 22: Ch22, STD= 2.7 uV
Channel 23: Ch23, STD= 2.8 uV
Channel 24: Ch24, STD= 6.3 uV
Channel 25: Ch25, STD= 3.7 uV
Channel 26: Ch26, STD= 3.2 uV
Channel 27: Ch27, STD= 3.0 uV
Channel 28: Ch28, STD= 3.6 uV
Channel 29: Ch29, STD= 2.9 uV
Channel 30: Ch30, STD= 3.0 uV
Channel 31: Ch31, STD= 7.0 uV
Channel 32: Ch32, STD= 4.0 uV
Batch job complete. Processed files: ['C:\\Users\\roser.sanchez\\Documents\\Git\\NEpy_v0.1\\sampledata/20170807135459_W012_V1_EYC.easy.gz', 'C:\\Users\\roser.sanchez\\Documents\\Git\\NEpy_v0.1\\sampledata/20170807135459_W012_V1_EYC_noinfo_s.easy.gz'] Skipped files: [] Elapsed time (seconds): 38.765904664993286